﻿#ifndef __SS_THEIRD_CAMERA_H__
#define __SS_THEIRD_CAMERA_H__
#include "ssTheodoliteCamera.h"

namespace StarSeeker
{

class ssThirdPersonCamera : public ssTheodoliteCamera
{
public:
	ssThirdPersonCamera(void);
	~ssThirdPersonCamera(void);
	//跟随目标 @坐标
	void SetCoord(const ssFLOAT3X &coord);
	void SetCoord(ssfloat x, ssfloat y,ssfloat z);
	//改变焦距 @改变量
	void ChangeFocus(ssfloat fVal);
	//重置方向
	void ResetDirection();
	//旋转相机
	void RotatingEye(int x, int y);
	//移动相机,前进或后退
	void Walk(bool bGoAhead);
	//获取看的位置
	ssFLOAT3X& GetLookatCoord()
	{return m_posLookat;}
	//获取眼睛的位置
	void GetEyeInWorld(ssFLOAT3X& pOut)
	{pOut = m_posLookat + m_posEye;}
	//设置视图矩阵
	virtual void SetViewMatrix();
protected:
	//计算摄像机位置
	void ComputeEye();
};

}
#endif
